package com.pureut.storage.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.pureut.storage.domain.PickingOutsource;
import com.pureut.storage.dto.AndroidHandoverPdaDto;
import com.pureut.storage.dto.AndroidPdaDto;
import com.pureut.storage.dto.GetPdaDto;
import com.pureut.storage.dto.PickingOutsourceDto;
import com.pureut.storage.export.PickingOutsourceExport;
import com.pureut.storage.vo.PickingOutsourceVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 销售发货mapper
 * @author: CM
 * @date: 2022/12/27    14:54
 */
@Mapper
public interface PickingOutsourceMapper extends BaseMapper<PickingOutsource> {

    /**
     * 查询委外出库列表
     * @param pickingOutsourceVo
     * @return
     */
    Page<PickingOutsourceDto> getPickingOutsourceList(@Param("pickingOutsourceVo") PickingOutsourceVo pickingOutsourceVo,@Param("page") Page<PickingOutsourceDto> page);

    /**
     * 根据id查看委外出库
     * @param id
     * @return
     */
    PickingOutsourceDto getPickingOutsourceById(@Param("id") Long id);

    List<GetPdaDto> getPickingOutsourceListPda(PickingOutsourceVo pickingOutsourceVo);

    List<AndroidHandoverPdaDto> getAndroidHandoverList(Long deptId);

    AndroidHandoverPdaDto getAndroidHandoverView(Long id);

    List<AndroidPdaDto> getMiscellaneousAndroidpickCancellationList(Long deptId);

    /**
     * 委外发货导出
     * @param pickingOutsourceVo
     * @return
     */
    List<PickingOutsourceExport> getInfoExport(PickingOutsourceVo pickingOutsourceVo);

    /**
     * 委外发货拣货撤销列表
     * @param deptId
     * @param page
     * @return
     */
    Page<AndroidPdaDto> getCancelPda(@Param("deptId") Long deptId,@Param("page") Page<AndroidPdaDto> page);

    /**
     * 委外发货Pda交接列表
     * @param deptId
     * @param page
     * @return
     */
    Page<AndroidHandoverPdaDto> getHandoverList(@Param("deptId") Long deptId,@Param("page") Page<AndroidHandoverPdaDto> page);
}
